| ProviderController | Entry point for provider CRUD & query. | REST /api/v1/providers/** (OpenAPI) | — |
| ProviderService | Executes use-cases (create, update, search); enforces authorisation and builds pageable queries. | Spring service API | ProviderRepository, ProviderSpecificationFactory, ProviderMapper, CurrentUserService |
| ProviderRepository | Persistence of Provider aggregate; supports dynamic Specifications & paging. | Spring-Data JPA | MySQL via JDBC |
| *ProviderSpecificationBuilder | Composes JPA Specification<Provider> from provider+truck filter DTOs. | Java class | TruckSpecificationBuilder (fleet module) |
| ProviderMapper / AddressMapper / ContactMapper | MapStruct converters between entities/embeddables and DTOs. | Java interface | — |
Entities & Embeddables (Provider, Address, Contact) | ORM layer mapping; Provider contains @Formula fields for rating and confirmed-quote count. | JPA | — |